(function($) {
	var setDataFunction = "setDataFunction";
	var getDataFunction = "getDataFunction";
	$.fn.QuickField = function(options, params){
		if($.type(options) == "string")
		{
			return $.fn.QuickField.method[options](this, params);
		}
		else
		{
			return this.each(function(){
				$.QuickParser.parseConfig(this);
			});
		}
	};
	
	$.fn.QuickField.method = {
		setData: function(_this, value)
		{
			var config = $.QuickParser.getConfig(_this);
			var func = config[setDataFunction];
			if(func)
			{
				func(value);
			}
			else
			{
				var type = $(_this)[0].type;
				if(type == 'text' || type == 'textarea' || type == 'select-one' || type=='password')
				{
					$(_this).val(value);
				}
				else if (type == 'radio') {
					var name = $(_this).attr('name');
					$("input[name='" + name + "']").each(function() {
						if (value == $(this).val()) {
							$(this).prop("checked", true);
							$(this).trigger("click");
						}
					})
				}
			}
		}
		,getData: function(_this)
		{
			var config = $.QuickParser.getConfig(this);
			var func = config[getDataFunction];
			if(func)
			{
				return func();
			}
			else
			{
				var type = $(_this)[0].type;
				if(type == 'text' || type == 'textarea' || type == 'select-one' || type=='password')
				{
					return $(_this).val();
				}
				else if (type == 'radio') {
					var name = $(_this).attr('name');
					return $("input[name='" + name + "']:checked").val();
				}
			}
		}
	};
})(jQuery);























